home *** CD-ROM | disk | FTP | other *** search
/ PC/CD Gamer UK 127 / CD Gamer Issue 127 (October 2003) (Disc 1).ISO / Utilities / Game Shadow 1.6 / gameshadow.exe / DownloadGrid.xslt2 < prev    next >
Encoding:
Extensible Markup Language  |  2003-07-05  |  14.1 KB  |  446 lines

  1. ∩╗┐<?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <html>
  5. <head>
  6. <title>game shadow beta test site</title>
  7.  
  8. <style>
  9. body {
  10.     background: #E4D3C5;
  11.     scrollbar-face-color: #D9C4B2;
  12.        scrollbar-shadow-color: #D9C4B2;
  13.         scrollbar-highlight-color: #E4D2C4;
  14.         scrollbar-3dlight-color: #C5A994;
  15.         scrollbar-darkshadow-color: #C3A893;
  16.         scrollbar-track-color: #DFCCBC;
  17.         scrollbar-arrow-color: EADDD2;
  18. }
  19.  
  20. p {
  21.     font-family: verdana, sans-serif;
  22.     font-size: 11px;
  23.     color: #000000;
  24. }
  25.  
  26. table.display {
  27.     FONT-FAMILY: verdana, sans-serif;
  28.     FONT-SIZE: 11px;
  29.     border-width: 1px;
  30.     border-collapse: collapse;
  31. }
  32.  
  33. td {
  34.     background: #E4D3C5;
  35.     vertical-align: top;
  36.     border-width: 1px;
  37.     text-align: center;
  38.     padding: 3px,3px,3px,3px;
  39.     spacing: 0px,0px,0px,0px;
  40. }
  41.  
  42. td.game {
  43.     background: #E4D3C5;
  44.     vertical-align: top;
  45.     text-align: left;
  46.     border-width: 1px;
  47.     padding: 2px,2px,2px,2px;
  48.     spacing: 0px,0px,0px,0px;
  49. }
  50.  
  51. td.header {
  52.     background-image: url(images/vmc_top.gif);
  53.     text-align: left;
  54.     height: 33;
  55.     vertical-align: center;
  56.     font-family: verdana, sans-serif;
  57.     font-size: 11px;
  58.     color: #FFFFFF;
  59.     
  60. }
  61.  
  62. td.subheader {
  63.     background-image: url(images/vmc_middle.gif);
  64.     height: 20;
  65.     white-space: no-wrap;
  66. }
  67.  
  68.  
  69. td.subheader_game {
  70.     background-image: url(images/vmc_middle.gif);
  71.     white-space: no-wrap;
  72.     vertical-align: top;
  73.     text-align: left;
  74.     border-width: 0px;
  75.     padding: 2px,2px,2px,2px;
  76.     spacing: 4px,4px,4px,4px;
  77. }
  78.  
  79. td.patch_old {
  80.     background: #e4d3c5;
  81.     color: #a38a76;
  82.     border-bottom: 1px solid #C7B9AC;
  83. }
  84.  
  85. td.patch_cur {
  86.     background: #c7b9ac;
  87.     color: #ffffff;
  88.     border-bottom: 1px solid #918173;
  89. }
  90.  
  91. td.patch_new {
  92.     background: #5a5f9f;
  93.     color: #ffffff;
  94.     border-bottom: 1px solid #C7B9AC;
  95. }
  96.  
  97. td.patch_any {
  98.     background: #c7b9ac;
  99.     color: #000000;
  100.     border-bottom: 1px solid #918173;
  101. }
  102.  
  103. td.patch_xxx {
  104.     background: #959595;
  105.     color: #000000;    
  106.     border-bottom: 1px solid #918173;
  107. }
  108.  
  109. td.action {
  110.     background: #bd1b1b;
  111.     color: #ffffff;
  112. }
  113.  
  114. td.unknown {
  115.     background: #959595;
  116.     color: #ffffff;
  117. }
  118.  
  119. div {
  120.     align: center;
  121. }
  122.  
  123. a:link {
  124.     text-decoration: none;
  125.     color: #660000;
  126. }
  127.  
  128. a:visited {
  129.     text-decoration: none;
  130.     color: #993333;
  131. }
  132.  
  133. a:hover {
  134.     text-decoration: underline;
  135.     color: #993333;
  136. }
  137.  
  138. a:active {
  139.     text-decoration: none;
  140.     color: #660000;
  141. }
  142.  
  143. .menuskin{
  144. position:absolute;
  145. width:100px;
  146. background-color:#ECECEC;
  147. border:1px solid black;
  148. font:normal 11px verdana;
  149. line-height:14px;
  150. z-index:500;
  151. visibility:hidden;
  152. }
  153.  
  154. .menuskin a{
  155. text-decoration:none;
  156. color:black;
  157. padding-left:0px;
  158. padding-right:0px;
  159. }
  160.  
  161. #mouseoverstyle{
  162. background-color:#666666;
  163. }
  164.  
  165. #mouseoverstyle a{
  166. color:white;
  167. }
  168. </style>
  169.  
  170. <script language="JavaScript1.2" src="dd-popit.js"></script>
  171. <script language="JavaScript">
  172.     document.oncontextmenu=new Function("return false")
  173.  
  174.     function clicker(elID) {
  175.  
  176.         toggle(document.all[elID.id + 'lst']);
  177.  
  178.         if (document.all[elID.id + 'lst'].style.display == "none") {
  179.             elID.src = "images\\expand.gif"
  180.             elID.title = "Expand patch list"
  181.         }
  182.         else {
  183.             elID.src = "images\\collapse.gif"
  184.             elID.title = "Collapse patch list"
  185.         }
  186.  
  187.     }
  188.  
  189.     function toggle(elID) {
  190.         if (String(elID.style) != "undefined") {
  191.             if (elID.style.display == "none")
  192.                 elID.style.display = "inline";
  193.             else
  194.                 elID.style.display = "none";
  195.         }
  196.     }
  197. </script>
  198. </head>
  199. <body topmargin="0" bottommargin="0" leftmargin="3" rightmargin="3">
  200. <img src="images/_vmclegend.gif" />
  201. <xsl:for-each select="gms_clientdata">
  202. <xsl:choose>
  203. <xsl:when test="count(c)='0'"><p>No games located</p></xsl:when>
  204. <xsl:otherwise>
  205. <xsl:for-each select="c">
  206. <xsl:variable name="computer_id">c<xsl:value-of select="@c_name" /></xsl:variable>
  207. <xsl:variable name="computer_loc"><xsl:value-of select="@c_local" /></xsl:variable>
  208. <xsl:variable name="game_count"><xsl:value-of select="count(.//a[@a_manage='1' and @a_type='2'])"/></xsl:variable>
  209. <xsl:variable name="game_count_text"><xsl:value-of select="$game_count"/> game<xsl:choose><xsl:when test="$game_count!=1">s</xsl:when></xsl:choose></xsl:variable>
  210. <xsl:variable name="demo_count"><xsl:value-of select="count(.//a[@a_manage='1' and @a_type='6'])"/></xsl:variable>
  211. <xsl:variable name="demo_count_text"><xsl:value-of select="$demo_count"/> demo<xsl:choose><xsl:when test="$demo_count!=1">s</xsl:when></xsl:choose></xsl:variable>
  212. <xsl:variable name="summary"><xsl:choose><xsl:when test="$game_count>'0'"><xsl:value-of select="$game_count_text"/></xsl:when></xsl:choose><xsl:choose><xsl:when test="$game_count>'0' and $demo_count>'0'"> and </xsl:when></xsl:choose><xsl:choose><xsl:when test="$demo_count>'0'"><xsl:value-of select="$demo_count_text"/></xsl:when></xsl:choose> installed</xsl:variable>
  213. <p>
  214. <table width="500" class="display">
  215.     <tr>
  216.         <td colspan="10" class="header">
  217. <xsl:choose>
  218. <xsl:when test="$computer_loc='1'">
  219.             <img border="0" align="absmiddle" src="images\vmc_pc_icon.gif"></img>
  220. </xsl:when>
  221. <xsl:otherwise>
  222.             <img border="0" align="absmiddle" src="images\network.gif"></img>
  223. </xsl:otherwise>
  224. </xsl:choose>
  225.             <B>
  226.  
  227.                         <xsl:element name="a">
  228.                         <xsl:attribute name="href">javascript:toggle(document.all.<xsl:value-of select="$computer_id"/>);</xsl:attribute>
  229.                         <xsl:element name="font">
  230.                             <xsl:attribute name="color">#FFFFF</xsl:attribute>                        
  231.                             <xsl:value-of select="@c_name" />
  232.                         </xsl:element>
  233.                 </xsl:element>
  234.             </B>
  235.  - (<xsl:value-of select="$summary"/>)
  236.         </td>
  237.     </tr>
  238. </table>
  239. <xsl:element name="span">
  240.     <xsl:attribute name="id"><xsl:value-of select="$computer_id"/></xsl:attribute>
  241.     <table width="500" class="display">
  242.         <tr> 
  243.             <td class="subheader" width="10">┬á</td>
  244.             <td class="subheader_game" width="155">Game Name</td>
  245.             <td class="subheader" width="60" align="center"><div>Version </div></td>
  246.             <td class="subheader" width="60" align="center"><div>Start Ver.</div></td>
  247.             <td class="subheader" width="60" align="center"><div>End Ver.</div></td>
  248.             <td class="subheader" width="60" align="center"><div>Filesize</div></td>
  249.           <td class="subheader" align="center" width="18"><div></div></td>
  250.           <td class="subheader" align="center" width="18"><div></div></td>
  251.           <td class="subheader" align="center" width="20"><div></div></td>
  252.             <td class="subheader"></td>
  253.         </tr>
  254. <xsl:for-each select="m">
  255. <xsl:for-each select="d">
  256. <xsl:for-each select="a[@a_manage='1']">
  257.         <xsl:variable name="app_id">c<xsl:value-of select="../../../@c_id" />m<xsl:value-of select="../../@m_id" />d<xsl:value-of select="../@d_id" />a<xsl:value-of select="@a_id" /></xsl:variable>
  258.         <xsl:variable name="patch_count" select="count(./u)"/>
  259.         <xsl:variable name="patch_avail" select="count(./u[@u_status='cur' or @u_status='any'])"/>
  260.         <tr>
  261.             <td width="10">
  262.                 <xsl:choose>
  263.                     <xsl:when test="$patch_count>0">            
  264.                         <xsl:element name="a">
  265.                             <xsl:attribute name="href">javascript:clicker(<xsl:value-of select="$app_id"/>);</xsl:attribute>
  266.                             <xsl:element name="img">
  267.                                 <xsl:attribute name="src">images\collapse.gif</xsl:attribute>
  268.                                 <xsl:attribute name="title">Collapse patch list</xsl:attribute>
  269.                                 <xsl:attribute name="id"><xsl:value-of select="$app_id"/></xsl:attribute>
  270.                                 <xsl:attribute name="border">0</xsl:attribute>
  271.                             </xsl:element>
  272.                         </xsl:element>
  273.                     </xsl:when>
  274.                     <xsl:otherwise>
  275.                         ┬á
  276.                     </xsl:otherwise>
  277.                 </xsl:choose>
  278.             </td>
  279.             <td width="155" class="game">
  280.                 <xsl:attribute name="title">
  281.                 
  282.                     <xsl:choose>
  283.                     
  284.                         <xsl:when test="$computer_loc='1'"><xsl:value-of select="../../@m_name" /><xsl:value-of select="../@d_text" /></xsl:when>
  285.                         <xsl:otherwise>[<xsl:value-of select="../../@m_name" />]$<xsl:value-of select="../@d_text" /></xsl:otherwise>
  286.                     </xsl:choose>
  287.                 </xsl:attribute>
  288.                 <xsl:value-of select="@a_name" />
  289.             </td>
  290.             <xsl:element name="td">
  291.                 <xsl:attribute name="width">60</xsl:attribute>
  292.                 <xsl:attribute name="class">
  293.                 <xsl:choose>
  294.                     <xsl:when test="@v_id='-1'">
  295.                         unknown
  296.                     </xsl:when>
  297.                     <xsl:when test="$patch_avail>0">
  298.                         action
  299.                     </xsl:when>
  300.                 </xsl:choose>
  301.                 </xsl:attribute>            
  302.                 <xsl:value-of select="@v_name" />
  303.             </xsl:element>
  304.             <td width="228" colspan="6">
  305.                 <xsl:element name="span">
  306.                     <xsl:attribute name="id"><xsl:value-of select="$app_id"/>lst</xsl:attribute>
  307.                     <table width="278" class="display">
  308. <xsl:choose>
  309. <xsl:when test="@a_restricted='1'">
  310. Functionality only available to subscribers
  311. </xsl:when>
  312. <xsl:when test="$patch_count='0'">
  313. No known patches
  314. </xsl:when>
  315. <xsl:otherwise>
  316. <xsl:for-each select="u">
  317.                         <xsl:variable name="patch_status" select="@u_status"/>
  318.                         <tr>
  319.                             <xsl:element name="td">
  320.                                 <xsl:attribute name="width">60</xsl:attribute>
  321.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  322.                                 <xsl:value-of select="@u_start_name" />
  323.                             </xsl:element>
  324.                             <xsl:element name="td">
  325.                                 <xsl:attribute name="width">60</xsl:attribute>
  326.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  327.                                 <xsl:value-of select="@u_end_name" />
  328.                             </xsl:element>
  329.                             <xsl:element name="td">
  330.                                 <xsl:attribute name="width">60</xsl:attribute>
  331.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  332.                                 <xsl:value-of select="@u_filesize_txt" />
  333.                             </xsl:element>
  334.                             <xsl:element name="td">
  335.                                 <xsl:attribute name="width">16</xsl:attribute>
  336.                                 <xsl:attribute name="align">center</xsl:attribute>
  337.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  338.  
  339. <xsl:choose>
  340.     <xsl:when test="count(./l[@l_type!='1'])>'0'">
  341.         <xsl:for-each select="l">
  342.                                 <xsl:choose>
  343.                                     <xsl:when test="@l_type!='1'">
  344.                                         <xsl:element name="a">
  345.                                             <xsl:attribute name="href">about:blank//<xsl:value-of select="@l_type"/>/x<xsl:value-of select="@l_id"/>x</xsl:attribute>
  346.                                             <xsl:attribute name="title"><xsl:value-of select="@l_desc"/> for '<xsl:value-of select="../../@a_name"/>:<xsl:value-of select="../@u_name"/>'</xsl:attribute>
  347.                                             <xsl:choose>
  348.                                             <xsl:when test="@l_type=3">
  349.                                             <img src="images\review.gif" width="16" height="16"  border="0" />
  350.                                             </xsl:when>
  351.                                             <xsl:when test="@l_type=7">
  352.                                             <img src="images\forum.gif" width="16" height="16"  border="0" />
  353.                                             </xsl:when>
  354.                                             <xsl:otherwise>
  355.                                             <img src="images\readme.gif" width="16" height="16"  border="0" />
  356.                                             </xsl:otherwise>
  357.                                             </xsl:choose>
  358.                                         </xsl:element>
  359.                                         <BR/>    
  360.                                     </xsl:when>
  361.                                 </xsl:choose>
  362.         </xsl:for-each>
  363.     </xsl:when>
  364.     <xsl:otherwise>
  365.                                 <img src="images\no_readme.gif" width="16" height="16" border="0" />
  366.     </xsl:otherwise>
  367. </xsl:choose>
  368.  
  369.                             </xsl:element>
  370.                             <xsl:element name="td">
  371.                                 <xsl:attribute name="width">16</xsl:attribute>
  372.                                 <xsl:attribute name="align">center</xsl:attribute>
  373.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  374.  
  375. <xsl:choose>
  376.     <xsl:when test="count(./l)>'0'">
  377.                                 
  378.                                 <xsl:element name="div">
  379.                                     <xsl:attribute name="style">display: none;</xsl:attribute>
  380.                                     <xsl:attribute name="id"><xsl:value-of select="$app_id" />u<xsl:value-of select="@u_id" /></xsl:attribute>
  381.                                     <xsl:choose>
  382.                                         <xsl:when test="$patch_count>'0'">
  383.                                             <xsl:for-each select="l">
  384.                                                 <xsl:choose>
  385.                                                     <xsl:when test="@l_type = '1'">
  386.                                                         <xsl:element name="a">
  387.                                                             <xsl:attribute name="href">about:blank//Download/x<xsl:value-of select="@l_id"/>x</xsl:attribute>
  388.                                                             <xsl:attribute name="title">Download '<xsl:value-of select="../../@a_name"/>:<xsl:value-of select="../@u_name"/>'</xsl:attribute>
  389.                                                             <xsl:value-of select="@l_server"/>
  390.                                                             <BR />
  391.                                                         </xsl:element>
  392.                                                     </xsl:when>
  393.                                                 </xsl:choose>
  394.                                             </xsl:for-each>
  395.                                         </xsl:when>
  396.                                     </xsl:choose>
  397.                                 </xsl:element>
  398.                                 <xsl:element name="a">
  399.                                     <xsl:attribute name="href">#</xsl:attribute>
  400.                                     <xsl:attribute name="onMouseOver">showmenu(event, <xsl:value-of select="$app_id" />u<xsl:value-of select="@u_id" />.innerHTML);</xsl:attribute>
  401.                                     <xsl:attribute name="onMouseOut">delayhidemenu();</xsl:attribute>
  402.                                     <img src="images\download.gif" width="16" height="16" border="0" />
  403.                                 </xsl:element>
  404.     </xsl:when>
  405.     <xsl:otherwise>
  406.                                 <img src="images\no_download.gif" width="16" height="16" border="0" />
  407.     </xsl:otherwise>
  408. </xsl:choose>
  409.                             </xsl:element>
  410.                             <xsl:element name="td">
  411.                                 <xsl:attribute name="width">16</xsl:attribute>
  412.                                 <xsl:attribute name="align">center</xsl:attribute>
  413.                                 <xsl:attribute name="class">patch_<xsl:value-of select="$patch_status"/></xsl:attribute>
  414. <xsl:choose>
  415.     <xsl:when test="$patch_count>'0'">
  416.                             <xsl:element name="a">
  417.                                 <xsl:attribute name="href">about:blank//Install/x<xsl:value-of select="@u_id"/>x</xsl:attribute>
  418.                                 <xsl:attribute name="title">Install '<xsl:value-of select="../@a_name"/>:<xsl:value-of select="@u_name"/>'</xsl:attribute>
  419.                                 <img src="images\install.gif" width="16" height="16" border="0" />
  420.                             </xsl:element>
  421.     </xsl:when>
  422. </xsl:choose>
  423.                             </xsl:element>
  424.                         </tr>
  425. </xsl:for-each><!-- For each u element-->
  426. </xsl:otherwise>
  427. </xsl:choose>
  428.                     </table>
  429.                 </xsl:element>
  430.             </td>
  431.         </tr>
  432. </xsl:for-each><!-- For each a element-->
  433. </xsl:for-each><!-- For each d element-->
  434. </xsl:for-each><!-- For each m element-->
  435.     </table><br /><img src="images/rule.gif" />
  436. </xsl:element>
  437. </p>
  438. </xsl:for-each><!-- For each c element-->
  439. </xsl:otherwise>
  440. </xsl:choose>
  441. </xsl:for-each><!-- For each installed-apps element-->
  442. <div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off'); dynamichide(event)" style="position: absolute; border: 1px solid black;"></div>
  443. </body>
  444. </html>
  445. </xsl:template>
  446. </xsl:stylesheet>